<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FLAC: FLAC::Metadata::VorbisComment::Entry Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">FLAC
   &#160;<span id="projectnumber">1.4.3</span>
   </div>
   <div id="projectbrief">Free Lossless Audio Codec</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>FLAC</b></li><li class="navelem"><b>Metadata</b></li><li class="navelem"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a></li><li class="navelem"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">FLAC::Metadata::VorbisComment::Entry Class Reference<div class="ingroups"><a class="el" href="group__flacpp.html">FLAC C++ API</a> &raquo; <a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a> &raquo; <a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a> &raquo; <a class="el" href="group__flacpp__metadata__level0.html">FLAC++/metadata.h: metadata level 0 interface</a> &raquo; <a class="el" href="group__flacpp__metadata__level1.html">FLAC++/metadata.h: metadata level 1 interface</a> &raquo; <a class="el" href="group__flacpp__metadata__level2.html">FLAC++/metadata.h: metadata level 2 interface</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="FLAC_09_09_2metadata_8h_source.html">metadata.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ga4b8875549a835ecb7c128fcfb34df593"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field, uint32_t field_length)</td></tr>
<tr class="separator:ga4b8875549a835ecb7c128fcfb34df593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga221ad4f9d3819d5ef325b29ade3b3eff"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field)</td></tr>
<tr class="separator:ga221ad4f9d3819d5ef325b29ade3b3eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a0e71648e6f4a966563cf80f04655c8"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value, uint32_t field_value_length)</td></tr>
<tr class="separator:ga0a0e71648e6f4a966563cf80f04655c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b7c67cff4a99929362b90080a597f6b"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value)</td></tr>
<tr class="separator:ga7b7c67cff4a99929362b90080a597f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12bdf740bf24026a559e82585eb31390"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
<tr class="separator:ga12bdf740bf24026a559e82585eb31390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04df5e0fe46f4b001b36b994d9ff9d9f"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
<tr class="separator:ga04df5e0fe46f4b001b36b994d9ff9d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75772bb6b5bf90da459e7fb247239b27"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level2.html#ga75772bb6b5bf90da459e7fb247239b27">is_valid</a> () const</td></tr>
<tr class="separator:ga75772bb6b5bf90da459e7fb247239b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga062e508a20ebf7c894f5f428fde30e87"><td class="memItemLeft" align="right" valign="top">
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>get_field_length</b> () const</td></tr>
<tr class="separator:ga062e508a20ebf7c894f5f428fde30e87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c8cec9f30717b1bfb0b81243dc3d3a0"><td class="memItemLeft" align="right" valign="top">
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>get_field_name_length</b> () const</td></tr>
<tr class="separator:ga6c8cec9f30717b1bfb0b81243dc3d3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e35272c6027d56a97336018b24de86c"><td class="memItemLeft" align="right" valign="top">
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>get_field_value_length</b> () const</td></tr>
<tr class="separator:ga1e35272c6027d56a97336018b24de86c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9fb5edc7f3e83fc8855b842f97bd3326"><td class="memItemLeft" align="right" valign="top">
::<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_entry</b> () const</td></tr>
<tr class="separator:ga9fb5edc7f3e83fc8855b842f97bd3326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4fcc0c0fdc02988abf21de8cbf1133c"><td class="memItemLeft" align="right" valign="top">
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>get_field</b> () const</td></tr>
<tr class="separator:gac4fcc0c0fdc02988abf21de8cbf1133c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8601c1f17699f8ca25d689d497157bc9"><td class="memItemLeft" align="right" valign="top">
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>get_field_name</b> () const</td></tr>
<tr class="separator:ga8601c1f17699f8ca25d689d497157bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga538824b92c40d91bb26752a6928abbd5"><td class="memItemLeft" align="right" valign="top">
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>get_field_value</b> () const</td></tr>
<tr class="separator:ga538824b92c40d91bb26752a6928abbd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8db47556081162fd2608630f0204387b"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field, uint32_t field_length)</td></tr>
<tr class="separator:ga8db47556081162fd2608630f0204387b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8be1b81d8d5b453f5822cf1c83100158"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field)</td></tr>
<tr class="separator:ga8be1b81d8d5b453f5822cf1c83100158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63b7e835b27b29bf02c3a7b0bc5000cd"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_field_name</b> (const char *field_name)</td></tr>
<tr class="separator:ga63b7e835b27b29bf02c3a7b0bc5000cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafca2d1a454e3b0e2ef012f4d2fd6fe56"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value, uint32_t field_value_length)</td></tr>
<tr class="separator:gafca2d1a454e3b0e2ef012f4d2fd6fe56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e7536420ca328eebbafaeb36027e72c"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value)</td></tr>
<tr class="separator:ga2e7536420ca328eebbafaeb36027e72c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ga4e05497ba9a9e4e5e5e00e9e0de3313f"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_valid_</b></td></tr>
<tr class="separator:ga4e05497ba9a9e4e5e5e00e9e0de3313f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga857c8da808b7e3d28ef671e085304055"><td class="memItemLeft" align="right" valign="top">
::<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&#160;</td><td class="memItemRight" valign="bottom"><b>entry_</b></td></tr>
<tr class="separator:ga857c8da808b7e3d28ef671e085304055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f587a7ee57eae5064504a3c129a4e78"><td class="memItemLeft" align="right" valign="top">
char *&#160;</td><td class="memItemRight" valign="bottom"><b>field_name_</b></td></tr>
<tr class="separator:ga0f587a7ee57eae5064504a3c129a4e78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b59f1003b933b1e6521c800e806c5f9"><td class="memItemLeft" align="right" valign="top">
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>field_name_length_</b></td></tr>
<tr class="separator:ga2b59f1003b933b1e6521c800e806c5f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fba27f11d6cb9d138c45f3d51c25759"><td class="memItemLeft" align="right" valign="top">
char *&#160;</td><td class="memItemRight" valign="bottom"><b>field_value_</b></td></tr>
<tr class="separator:ga4fba27f11d6cb9d138c45f3d51c25759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e9fc5a9b863b01f4f6c5d1de492fa45"><td class="memItemLeft" align="right" valign="top">
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>field_value_length_</b></td></tr>
<tr class="separator:ga6e9fc5a9b863b01f4f6c5d1de492fa45"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Convenience class for encapsulating Vorbis comment entries. An entry is a vendor string or a comment field. In the case of a vendor string, the field name is undefined; only the field value is relevant.</p>
<p>A <em>field</em> as used in the methods refers to an entire 'NAME=VALUE' string; for convenience the string is NUL-terminated. A length field is required in the unlikely event that the value contains contain embedded NULs.</p>
<p>A <em>field_name</em> is what is on the left side of the first '=' in the <em>field</em>. By definition it is ASCII and so is NUL-terminated and does not require a length to describe it. <em>field_name</em> is undefined for a vendor string entry.</p>
<p>A <em>field_value</em> is what is on the right side of the first '=' in the <em>field</em>. By definition, this may contain embedded NULs and so a <em>field_value_length</em> is required to describe it. However in practice, embedded NULs are not known to be used, so it is generally safe to treat field values as NUL- terminated UTF-8 strings.</p>
<p>Always check <a class="el" href="group__flacpp__metadata__level2.html#ga75772bb6b5bf90da459e7fb247239b27" title="Returns true iff object was properly constructed.">is_valid()</a> after the constructor or operator= to make sure memory was properly allocated and that the <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> conforms to the Vorbis comment specification. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/FLAC++/<a class="el" href="FLAC_09_09_2metadata_8h_source.html">metadata.h</a></li>
</ul>
</div><!-- contents -->

<hr size="1"/>
Copyright (c) 2000-2009  Josh Coalson
Copyright (c) 2011-2023  Xiph.Org Foundation
<!-- Copyright (c) 2000-2009  Josh Coalson -->
<!-- Copyright (c) 2011-2023  Xiph.Org Foundation -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no invariant sections. -->
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
</body>
</html>
